TDZ (Temporal Dead Zone)


Posted by YongChenSu on 2020-12-09

var 宣告

function test(){
  console.log(a)
  var a = 1
}
test()
// undefined

let 或 const 宣告

用 let 或 const 宣告一樣有 hoisting 但在賦值之前無法存取,這區間稱為 TDZ

function test(){
  console.log(a)
  var a = 1
}
test()
// Uncaught ReferenceError: Cannot access 'a' before initialization


參考資源


#程式導師實驗計畫第四期 #前端 #temporal dead zone







Related Posts

this 與 call() / apply() / bind()

this 與 call() / apply() / bind()

那些年不懂的JS - Scope 範疇

那些年不懂的JS - Scope 範疇

[筆記] JavaScript: Understanding the Weird Parts - Build your own lib/framework

[筆記] JavaScript: Understanding the Weird Parts - Build your own lib/framework


Comments